/**
 * Copyright 2020 Inc.
 **/
package com.myz.cloud.stream.rocketmq.consumer.stream;

import org.springframework.cloud.stream.annotation.Input;
import org.springframework.messaging.SubscribableChannel;

/**
 * 输入通道@Input,维护消息通道订阅者的方法
 * 消费者,应用程序通过它接收消息
 *
 * @author maoyz0621 on 2020/8/17
 * @version v1.0
 */
public interface StreamInputChannel {

    String INPUT = "my-input";

    String PUSH_receiver = "push_receiver";
    String BIND_receiver = "bind_receiver";
    String SMS_receiver = "sms_receiver";
    String CHALLENGE_receiver = "challenge_receiver";

    @Input(StreamInputChannel.INPUT)  // 通道名称
    SubscribableChannel input();

    @Input(StreamInputChannel.PUSH_receiver)
    SubscribableChannel push();

    @Input(StreamInputChannel.SMS_receiver)
    SubscribableChannel sms();

    @Input(StreamInputChannel.CHALLENGE_receiver)
    SubscribableChannel challenge();

    @Input(StreamInputChannel.BIND_receiver)
    SubscribableChannel bind();
}